package com.huangpuweb.api.service;

import com.huangpuweb.api.model.*;

import java.text.ParseException;
import java.util.List;
import java.util.Map;

public interface CrowdSituationApiService {


    SysRefinedCrowdSituation getAllDataRecordBack(String s);

    SysRefinedCrowdSituation getMaxNumberRecord(String todayZero, String s);

    SysHistoryCrowdSituation getYearAndMonthRecord(String s, String recordTime);

    CrowdSysSetting getCrowdSysSettingBySpotCode(String s);

    /**
     * @param spotCode
     * @param i
     * @return
     */
    SysHistoryCrowdSituation getSysHistoryCrowdSituationBySpotCode(String spotCode, int i);

    List<SysRefinedCrowdSituation> getListSysRefinedCrowdSituationByEveryHour(String todayZero, String today23, String s);

    HpSubwayExitInfo getHpSubwayExitInfo(String subwayname, String spotCode);

    SysHpParkInfo getSysHpParkInfo(String parkId);

    SysHpParkInfo getSysHpParkInfoByHour(String parkId, String s);

    SysHpRoadConditionInfo getlistSysHpRoadConditionInfo(String rid);

    void insertNewHpRoad(String coordinates, String inter_id, String inter_name, String rid, String rid_name);

    List<SysHpRoad> getRoadIdsFromHpRoadCondition(Integer page,Integer pagesize);

    List<SysHpPublicVideo> getRoadIdsFromHpPublicVideo(int page, Integer goodspagesize);

    List<SysHpTest> getListSysHpTest();

    Integer getXiaoFangYearCount();

    List<SysHpXiaoFangAjType> getHpXiaoFangAjType();

    int getXiaoFangAllCount();

    List<SysHpXiaoFangAjType> getXiaoFangAjTypeKeyString(String name);

    Integer getXiaoFangKeyStringCountYear(String keystring, String s, String s1);

    List<SysHpXiaoFangAjTypeHour> getListlistSysHpXiaoFangAjTypeHour(String keystring);

    List<SysHpXiaoFangAjType> getListSysHpXiaoFangAjAreaData();

    List<SysHpXiaoFangAjType> getListSysHpXiaoFangAjMonthData(String keystring);

    List<SysHpXiaoFangAjType> getHpXiaoFangAjTypeStation(String keystring);

    int getXiaoFangAllCountStation(String keystring);

    String getRoadIdByRoadName(String roadName);

    Integer getXiaoFangKeyStringCountYearType(String name, String s, String s1);

    /**
     * 获取近五年警情数据量
     * @return
     */
    List<YearCount>  getPoliceInfoCountGroupByYear();

    /**
     * 获取当前消防情景类型的情景数
     * @return
     */

    List<PoliceInfoTypeCount>  getPoliceInfoCountGroupByType();

    List<SysHpXiaoFangAjType> getListSysHpXiaoFangAjTypeStation(String keystring);

    List<SysHpXiaoFangAj> getListSysHpXiaoFangAjKeyString(String keystring);

    List<SysHpPublicVideo> getRoadIdsFromHpPublicVideoByStreet(int page, Integer goodspagesize);

    List<SysMiniFireControl> getListSysMiniFireControl();

    List<HpJcgsdssms> getHpJcgsdssms();

    void updateHpJcgsdssms(String lng, String lat, Integer id);

    void updateSysFireLngLatById(String lng, String lat, Integer id);

    SysHpScenicState getSysHpScenicStateBySpotCode(String spotCode);

    List<ScenicAttendant> getListScenicAttendantByscenicpartment(String scenicpartment);

    List<SysRefinedCrowdSituation> getSysRefinedCrowdSituationBySpotCodePastHour(String spotCode, String pastHour);

    List<SpotRoadInfo> getListSpotRoadInfoBySpotCode(String spotCode);

    int getSpotRoadLevelByNameAndSpotCode(String spotCode, String roadName);

    List<String> getListRoadNameBySpotCode(String spotCode);

    List<Map<String, Object>> getListAliPersonCount(String time);

    void insertNewLjEventData(String url, String deviceId, String deviceName, String area, String eventType, String eventTime);

    String getListAliPersonCountByTime(String time);

    List<String> getDZDPImageList();

    List<SysEventDataAll> findAllEventInfo(String eventTime);

    List<SysEventDataAll> findEventInfo();

    SysEventDataAll findEventInfoById(String ss);

    List<SysHpRoadConditionAll> getSpotRoadInfoData(String spotCode);

    List<SysHpParkInfo> getParkInfoRealTimeData(String spotCode) throws ParseException;

    List<SysHpRoadCondition> getSysHpRoadConditionBySpotCode(String spotCode);

    List<SysHpSubway> getSubwayData(String spotCode);

    EveryYearSpotWarnCount getAllDataRecordBackCount(String spotCode,String year);

    List<EveryYearSpotWarnCount> getAllDataRecordBackMax(String spotCode, String year);

    List<SysHpXiaoFangAjType> getXiaofangTypeDataByYear(String year);

    int getXiaoFangAllCountByYear(String year);

    Integer getNjdlTotalNumber();

    Integer getWaiTanAliTotalNumber();

    HpPersonHouseStatistics getPopuDistribution();

    HpPersonHouseStatistics getHuJiCount();

    List<HpPersonHouseStatistics> getEveryYear();

    List<HpPersonHouseStatistics> getEveryYearHjRk();

    List<HpPersonHouseStatistics> getPopuHourse(String year);

    List<HpPersonHouseStatistics> getPopuHourseNoFen(String year);

    List<HpPersonHouseStatistics> geteveryYearTrend();

    List<HpPersonHouseStatistics> getCountByStreet();

    Integer getLastCount();

    List<HpPersonHouseStatistics> getNowCountByStreet();

    Integer getNowCount();

    List<HpPersonHouseStatistics> getPopuDistributionByStreet();

    List<HpPersonHouseStatistics> geteveryYearTrendR();

    int getRZHBZ(String key);

    int getHZRBZ(String key);

    int getRZHZ(String key);

    int getQXBM(String key);

    List<HpPersonHouseStatistics> getNdStreetByType(String key);

    List<HpSyrkGender> getGenderByAgeMan(String year);

    List<HpSyrkGender> getGenderByAgeWoman(String year);

    List<HpPersonHouseStatistics> getCountByType();

    List<HpSyrkAgeDistribute> getSixtyUp();

    List<HpSyrkAgeDistribute> getSixtySixUp();

    List<HpSyrkAgeDistribute> getOneToSix();

    List<HpSyrkAgeDistribute> getSevenToFourteen();

    Integer getLaiHu(String key);

    Integer getLaiHuTb(String key);

    Integer getLaiHuHb(String key);

    String getNowMaxCountByStreet(String key);

    List<HpSyrkAgeDistribute> getFloatingPopulationTrend(String key);

    List<HpPersonHouseStatistics> getFloatingPopulationByStreet(String key);

    List<String> getMonthGenderByAge();

    Integer getPopuHourseByMonth();

    Integer getPopuHourseByYear();

    List<SysRefinedCrowdSituation> getHistorySpotDataCount(String spotName, String day);

    List<SysRefinedCrowdSituation> getRealTimeCount(String spotName, String day);

    SysRefinedCrowdSituation getMaxNumber(String s1, String s, String spotName);

    SysRefinedCrowdSituation getTotalNumber(String s1, String s, String spotName);

    List<SysRefinedCrowdSituation> getHistorySpotDataAllCount(String spotName, String day);

    List<SysRefinedCrowdSituation> getRealTimeAllCount(String spotName, String day);

    SysRefinedCrowdSituation getMaxAllNumber(String day, String day1, String spotName);

    SysRefinedCrowdSituation getTotalAllNumber(String day, String day1, String spotName);

    List<SysHpPark> getList();

    void insert(String valueOf, String valueOf1, String parkId);

    List<SysHpPark> getParkInfo();

    String getNanJingHuanBi(String day);

    String getNanJingHuanBiNow();

    NanjingTotalNumberHb getNanJingLastMonthSameDayInfo(String dateStr);

    Integer getNjdlHistoryTotalNumber(String day);

    List<YearSpotAnalysis> getEveryYearSpotAnalysis(String year);

    List<HpBMedical> getHospitalShelter();

    List<Map<String, Object>> getWtAliPersonCount(String todayZero);

    List<HpMenu> getContingencyPlan(String type, String title,String level);

    String getTitle(String title);

    List<HpMenu> getPlanType(String type);

    Integer getXiaoFangMonthCount();

    Integer getXiaoFangDayCount();

    List<SanitationInfo> getFxdkList();

    /**
     * 添加短信
     */
    void addSms(HpSms hpSms);

    /**
     * 添加指令
     * @param hpInstruct
     */
     void addInstruct(HpInstruct hpInstruct);

     HpInstruct getInstruct(String startDateTime, String endDateTIme);

     List<HpInstruct> getInstructList(String startDateTime, String endDateTIme);

    List<ReworkInfo> getReworkInfo();

    int getReworkPersonCount(String code);

     SysRefinedCrowdSituation getSpotDataByHour(String spotCode, String date);
}
